const fs = require('fs');
const baseConfig = require('./base.config');

/**
 * 删除文件夹
 * @param {*} path
 */
function deleteFolder(path) {
	var files = [];
	if (fs.existsSync(path)) {
		files = fs.readdirSync(path);
		files.forEach(function(file, index) {
			var curPath = path + '/' + file;
			if (fs.statSync(curPath).isDirectory()) {
				deleteFolder(curPath);
			} else {
				fs.unlinkSync(curPath);
			}
		});
		fs.rmdirSync(path);
	}
}

// 可添加动态匹配文件功能

// 构建前先删除文件
deleteFolder(baseConfig.output.path);

// 合并基础配置生成生产环境配置（可以先发起await http）
var prodConfig = Object.assign(baseConfig, {
	mode: 'production',
});

// 构建钩子，可以实现自定义开发(异步)
// webpack(prodConfig, (err, stats) => {});

// 导出供外部webpack使用
module.exports = prodConfig;
